package com.kakame.codenews.base.web.fast.mapping.common;

import java.io.Serializable;
import java.util.Date;

import com.kakame.codenews.base.web.annotation.TableMapping;
import com.kakame.codenews.base.web.annotation.ColumnMapping;

/**
 * 
 * @author 何家明  2018年08月02日 13:21:15
 */
@TableMapping("t_common_auth")
public class Auth implements Serializable {

    private static final long serialVersionUID = 1L;

    @ColumnMapping(column = "id")
    private String id;

    @ColumnMapping(column = "auth_code")
    private String authCode;

    @ColumnMapping(column = "auth_name")
    private String authName;

    @ColumnMapping(column = "auth_desc")
    private String authDesc;

    @ColumnMapping(column = "status")
    private String status;

    @ColumnMapping(column = "create_time")
    private Date createTime;

    @ColumnMapping(column = "create_user_id")
    private String createUserId;

    @ColumnMapping(column = "update_time")
    private Date updateTime;

    @ColumnMapping(column = "update_user_id")
    private String updateUserId;


    public Auth() {
    }
    public Auth(Builder builder) {
        this.id = builder.id;
        this.authCode = builder.authCode;
        this.authName = builder.authName;
        this.authDesc = builder.authDesc;
        this.status = builder.status;
        this.createTime = builder.createTime;
        this.createUserId = builder.createUserId;
        this.updateTime = builder.updateTime;
        this.updateUserId = builder.updateUserId;
    }
	public static Builder create() {
		return new Builder();
	}

	/**
	 * 
	 * @author 何家明  2018年08月02日 13:21:15
	 * @return
	 */
    public String getId() {
		return id;
	}
    /**
	 * 
	 * @author 何家明  2018年08月02日 13:21:15
	 * @param id
	 */
    public void setId(String id) {
		this.id = id;
	}
	/**
	 * 权限编码
	 * @author 何家明  2018年08月02日 13:21:15
	 * @return
	 */
    public String getAuthCode() {
		return authCode;
	}
    /**
	 * 权限编码
	 * @author 何家明  2018年08月02日 13:21:15
	 * @param authCode
	 */
    public void setAuthCode(String authCode) {
		this.authCode = authCode;
	}
	/**
	 * 权限名
	 * @author 何家明  2018年08月02日 13:21:15
	 * @return
	 */
    public String getAuthName() {
		return authName;
	}
    /**
	 * 权限名
	 * @author 何家明  2018年08月02日 13:21:15
	 * @param authName
	 */
    public void setAuthName(String authName) {
		this.authName = authName;
	}
	/**
	 * 权限描述
	 * @author 何家明  2018年08月02日 13:21:15
	 * @return
	 */
    public String getAuthDesc() {
		return authDesc;
	}
    /**
	 * 权限描述
	 * @author 何家明  2018年08月02日 13:21:15
	 * @param authDesc
	 */
    public void setAuthDesc(String authDesc) {
		this.authDesc = authDesc;
	}
	/**
	 * 权限状态  C 正常 D 删除
	 * @author 何家明  2018年08月02日 13:21:15
	 * @return
	 */
    public String getStatus() {
		return status;
	}
    /**
	 * 权限状态  C 正常 D 删除
	 * @author 何家明  2018年08月02日 13:21:15
	 * @param status
	 */
    public void setStatus(String status) {
		this.status = status;
	}
	/**
	 * 
	 * @author 何家明  2018年08月02日 13:21:15
	 * @return
	 */
    public Date getCreateTime() {
		return createTime;
	}
    /**
	 * 
	 * @author 何家明  2018年08月02日 13:21:15
	 * @param createTime
	 */
    public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}
	/**
	 * 
	 * @author 何家明  2018年08月02日 13:21:15
	 * @return
	 */
    public String getCreateUserId() {
		return createUserId;
	}
    /**
	 * 
	 * @author 何家明  2018年08月02日 13:21:15
	 * @param createUserId
	 */
    public void setCreateUserId(String createUserId) {
		this.createUserId = createUserId;
	}
	/**
	 * 
	 * @author 何家明  2018年08月02日 13:21:15
	 * @return
	 */
    public Date getUpdateTime() {
		return updateTime;
	}
    /**
	 * 
	 * @author 何家明  2018年08月02日 13:21:15
	 * @param updateTime
	 */
    public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}
	/**
	 * 
	 * @author 何家明  2018年08月02日 13:21:15
	 * @return
	 */
    public String getUpdateUserId() {
		return updateUserId;
	}
    /**
	 * 
	 * @author 何家明  2018年08月02日 13:21:15
	 * @param updateUserId
	 */
    public void setUpdateUserId(String updateUserId) {
		this.updateUserId = updateUserId;
	}

    @Override
	public String toString() {
		return "Auth [id=" + id + ", authCode=" + authCode + ", authName=" + authName + ", authDesc=" + authDesc + ", status=" + status + ", createTime=" + createTime + ", createUserId=" + createUserId + ", updateTime=" + updateTime + ", updateUserId=" + updateUserId + "]";
	}
    public static class Builder {
        private String id;
        private String authCode;
        private String authName;
        private String authDesc;
        private String status;
        private Date createTime;
        private String createUserId;
        private Date updateTime;
        private String updateUserId;
        /**
	     * 
	     * @author 何家明  2018年08月02日 13:21:15
	     * @param id
	     */
        public Builder id(String id) {
	    	this.id = id;
	        return this;
    	}
        /**
	     * 权限编码
	     * @author 何家明  2018年08月02日 13:21:15
	     * @param authCode
	     */
        public Builder authCode(String authCode) {
	    	this.authCode = authCode;
	        return this;
    	}
        /**
	     * 权限名
	     * @author 何家明  2018年08月02日 13:21:15
	     * @param authName
	     */
        public Builder authName(String authName) {
	    	this.authName = authName;
	        return this;
    	}
        /**
	     * 权限描述
	     * @author 何家明  2018年08月02日 13:21:15
	     * @param authDesc
	     */
        public Builder authDesc(String authDesc) {
	    	this.authDesc = authDesc;
	        return this;
    	}
        /**
	     * 权限状态  C 正常 D 删除
	     * @author 何家明  2018年08月02日 13:21:15
	     * @param status
	     */
        public Builder status(String status) {
	    	this.status = status;
	        return this;
    	}
        /**
	     * 
	     * @author 何家明  2018年08月02日 13:21:15
	     * @param createTime
	     */
        public Builder createTime(Date createTime) {
	    	this.createTime = createTime;
	        return this;
    	}
        /**
	     * 
	     * @author 何家明  2018年08月02日 13:21:15
	     * @param createUserId
	     */
        public Builder createUserId(String createUserId) {
	    	this.createUserId = createUserId;
	        return this;
    	}
        /**
	     * 
	     * @author 何家明  2018年08月02日 13:21:15
	     * @param updateTime
	     */
        public Builder updateTime(Date updateTime) {
	    	this.updateTime = updateTime;
	        return this;
    	}
        /**
	     * 
	     * @author 何家明  2018年08月02日 13:21:15
	     * @param updateUserId
	     */
        public Builder updateUserId(String updateUserId) {
	    	this.updateUserId = updateUserId;
	        return this;
    	}

        public Auth build() {
			return new Auth(this);
		}
	}






    // ******************* 扩展 *******************//


}
